# 默认参数

# 计算 x 的 n 次幂的函数，要求[x、n]可以作为参数传入
# def power(x, n):
#     return x ** n
#
#
# print(power(2, 2))

# 假设在大部分的调用里，基本都只是求 x 的 2次幂，但这个时候在调用的时候依旧每次都需要传 n ，这显得有点多余
# 在函数入参处可以使用等号赋值默认参数
# def power(x, n=2):
#     return x ** n
#
#
# print(power(2))


# 多个默认参数
# def test(a=1, b=2, c=3):
#     print("a=%d b=%d c=%d" % (a, b, c))
#
#
# test(c=2)


# 参数是一个列表  ，如果传入空值，函数在定义的时候，默认参数的值已经确定，换句话说，L指向的地址已确定，之后如果还是对其内容进行更改的话，默认参数的值也随之改变了
def test(L=[]):
    L.append("END")
    print(L)


test([1, 1, 1])
test([2, 2, 2])
test()
test()
